(_) Project Sugar Cake - Palworld Sex and Stats Framework (_)

Created and Maintained by : Michael "Spirit Shard" Stanich

Discord - The Broken Chatbox - https://discord.gg/h3vB7S4FEw
Website - https://www.michaelpstanich.com/
LoversLab Dev Thread - https://www.loverslab.com/topic/225549-project-sugar-cake-sex-and-stat-framework-gameplay-mod/
v (Donations! =^-^=) v
SubscribeStar - https://subscribestar.adult/michaelpstanich

(_) What is Sugar Cake? (SCake for short) (_)
Project Sugar Cake is a sex animation and gameplay stats framework for Palworld focused on providing the baseline for adult content in Palworld. SCake allows animators to import their animations into Palworld, then animators and users can use those invididual animations to create Animation Events (effectively entire scenes) for customized playback of complex animations. (More on this below)

(_) :: IMPORTANT NOTICE :: (_)
Project Sugar Cake is in early development, is feature incomplete, and may have bugs or unintended effects on gameplay! If you find issues or have suggestions on how to improve things, please let us know over on the Discord - The Broken Chatbox - https://discord.gg/h3vB7S4FEw - so we know what to work on next!

(_) Known Critical Issues (_)
- Triggering animations in some cases can break animations or triggers, causing game errors. Only trigger animations while weapons are unequipped, the player isn't mounted or in another interaction, and not in direct combat!

(_) Features List (Currently available) (_)
- Playback single or multi-actor animations with advanced parameters fine-tuned for erotic animations
- Register new animations through either a fully custom .json importer or with the Blueprint based SCake SDK
- Create new Animation Events (Entire Scenes) using the .json importer system
- Tracks 'Sexual Pleasure' with full climax animation support (Defined in the Animation Event)
- Custom API for other mods to call functions of SCake, including starting/stopping animations or modifying stats
- (Currently) Integrated gameplay module for basic hotkeys to start animations

(_) Integrated Gameplay Module (_)
The integrated module (which will be separated in the future) allows some basic ways to interact with the SCake API via hotkeys. These functions will be configurable in the future.

Input Definitions
	L : Start solo player anim event
	O : Stop any anim event involving player
	U : Show player sexual pleasure in reportUI
	K : Start anim event between player and target
	J : Select 2 targets and start an anim event between them, or start a solo animations if the same target is selected twice
	I : Stop any anim event involving the target

(_) How to install the SCake framework (_)
- Unzip the archive and place the .pak in "Pal/Content/Paks/LogicMods"
- If this is your first time installing SCake for this game installation, also copy over the AnimJSON folder into "Pal/Content/Paks/~mods" to put the _LoadList.json in the right place (this is where you'll install .json files for registering animations and _LoadList.json is where you'll put the file names so SCake can recognize and install them)
- Install the proper version of UE4SS (Latest version with updated Palworld) - https://github.com/UE4SS-RE/RE-UE4SS
[Optional, sort of]
- Must install animation packs to have anything play in-game, for the "SCake_BasicsAnimPak" I recommend installing and registering it through JSON, install the mod into "Pal\Content\Paks\~mods" and in the AnimJSON folder, add "SCake_BasicsAnimPak" (the name of the .json file) to the _LoadList.json file so SCake will load it.
- Follow the install instructions for future animation packs you wish to install

(_) How to install animation packs (_)
There are 2 methods for animators/modders to add animations for SCake, through LogicMods via Blueprints, or through .json files where the .pak is usually installed in ~mods. If the animation pack comes with a .json file you can assume it's that method, if not it may be a LogicMods install. (They should say what kind it is when distributing the animation pack)

I STRONGLY recommend the .json method (BP/LogicMods method may not always be compatible across versions and may lose support in the future)

~ For .json installs ~
- Follow their provided instructions if they say where to install the .pak file, otherwise place this is in "Pal/Content/Paks/~mods"
- Place the provided .json file in "Pal/Content/Paks/~mods/AnimJSON/" and add the file name to the "_LoadList.json" found in the same folder (AnimJSON)
- Now it should load in-game the next time .json animations are registered! (like when SCake first starts up on game load)

~ For BP installs ~
- Place the .pak file in "Pal/Content/Paks/LogicMods"
- Now it should load in-game! (if they set it up correctly)

(_) How to add and create animation packs (_)
To add more animations you just need to (correctly) import the animations into UE5.1 with the correct file path (Content/Mods/YourModName), convert the animation into an animation montage (right click the animation sequence and it will show up in that list), ensure you do what ever edits are required for your montage/animation to look and function correctly (Remember for looping animations to open your montage, go to the "montage sections" tab, and tickmark where it should loop! If you have no sections, just click the 'default' checkbox and it will loop the full animation.).
Once you have the animation montage you can export the .pak file and place it in ~mods, note the file-paths you had in UE5.1 as we'll need these to register the animation properly.
Open the appropriate templates provided in the AnimJSON folder from SCake and enter in the correct metadata for your animation, delete any sections/data you're not using for your animation. (Note: You can check the "Sugar Cake - Metadata.txt" provided with SCake for a description of the parameters, the "_SCake_TemplateWithExplainations.json" has sections explaining each parameter and may be a good place to start reading while using the "_SCake_BlankTemplate.json" or "_SCake_SimpleTemplate.json" to create your .json file)
Once you have your .json file complete, rename it to match your pack name and include it with your .pak when distributing your animation pack! I recommend testing the pack before distribution, so install it like any other pack by placing the .json file to the AnimJSON folder and adding the file name to the "_loadlist.json" file, then load up in-game and trigger the animations.

(_) Want to implement more animations? Feel free to contact me or interact with our Discord! We're a community thriving on creativity and would be really glad to help! (_)